A disk array is a type of turnkey, high-availability system. A disk array is designed to be inherently fault tolerant with little or no configuration effort. It responds automatically to faults, repair actions, and configuration in a manner that preserves system availability. These characteristics disk arrays are achieved by encoding fault recovery and configuration change responses into embedded software, i.e., firmware that executes on the array controller. This encoding is often specific to the physical packaging of the array.
Since the software embedded in disk arrays is complex and expensive to develop, it is desirable to foster as much reuse as possible across an array product portfolio. Different scales of systems targeted at various market segments have distinct ways of integrating of the components that make up the system.
For example, some array controllers and disks are distributed in a single package with shared power supplies, while other array controllers are packaged separately from disks, and each controller has its own power supply. In the future, turnkey, fault tolerant systems may include loosely-integrated storage networking elements. The patterns of redundancy and common mode failure differ across these integration styles. Unfortunately these differences directly affect the logic that governs fault and configuration change responses.
Therefore, there remains a need for systems and methods for managing a fault tolerant system.